Storage subsystems, such as magnetic tape libraries, are widely used for storing information in digital form. An exemplary tape storage subsystem 100 is shown in FIG. 1. These tape subsystems 100 may include a storage subsystem controller 101 for controlling one or more tape drives 102 contained within the storage subsystem 100 and for controlling other components of the storage subsystem 100, such as the tape picker, which is used to select and load tape cartridges 106 into the tape drives 102. The storage subsystem 100 may be coupled to a host system 110 which transmits I/O requests to the storage subsystem 100 via a host/storage connection 112.
The tape drive 102 reads and writes data to the primary storage medium, shown in FIG. 1 as a magnetic tape medium 104 contained within a removable magnetic tape cartridge 106. The magnetic tape medium 104 typically comprises a thin film of magnetic material which stores the data. The tape medium 104 may be moved by the tape drive 102 between a pair of spaced apart reels and past a data transducer to record or read back information. In one type of tape drive system, one of the reels is part of the tape drive 102 while the other reel is part of the removable tape cartridge 106. For this type of tape drive system, the reel which is a part of the tape drive 102 is commonly referred to as a take-up reel, while the reel which is a part of the tape cartridge 106 is commonly referred to as a cartridge reel. Upon insertion of the tape cartridge 106 into the tape drive 102, the magnetic tape medium 104 on the cartridge reel is coupled to the take-up reel of the tape drive 102. Subsequently, prior to removing the tape cartridge 106 from the tape drive 102, the storage tape 104 is rewound onto the cartridge reel and is then uncoupled from the take-up reel.
In some tape storage subsystems, the removable tape cartridge 106 is provided with a non-volatile auxiliary memory 108 for storing data in a separate storage medium from the primary storage medium. This data is separate from and in addition to the data stored on the primary storage medium. This auxiliary memory 108 can be, for example, a solid state non-volatile memory such as an electrically erasable programmable read-only memory (EEPROM) or a flash memory which is contained in the housing for the tape cartridge 106. One standard being proposed for incorporating and using such an auxiliary memory in a tape cartridge is referred to as “Medium Auxiliary Memory” (or MAM). This proposed standard is described in “Working Draft SCSI Primary Commands-3 (SPC-3)”, Project T10/1416-D, Revision 13, dated May 16, 2003, incorporated by reference herein in its entirety. According to the MAM standard, tape storage subsystems provide access to an auxiliary memory provided in a tape cartridge using vendor-independent, SCSI-standard commands. These SCSI commands can be used to read and/or write data to the auxiliary memory in accordance with certain pre-determined commands. This standardization can enable any application residing on a host system 110 to access and utilize the auxiliary memory 108 of any MAM-compliant vendor's tape storage subsystem 100 using standard commands. Similarly, a MAM-compliant storage subsystem 100 or tape drive 102 can also read and/or write to the auxiliary memory 108 using standard SCSI-defined commands.
Auxiliary memories can be used to store useful data describing the tape media and its contents to improve tape drive performance or capability. However, a host application designed to access a tape cartridge's auxiliary memory may as a result become incompatible with tape cartridges lacking auxiliary memories. Accordingly, it may be desirable to provide storage systems which accommodate host applications designed to utilize auxiliary memories in conjunction with tape cartridges lacking the auxiliary memory.